﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
using Volo.Abp;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace Vouchers
{
    [Comment("出库单")]
    [Table("t_outstockvoucher")]
    [Index(nameof(VoucherCode))]
    public class OutStockVoucher : VoucherBase
    {
        public OutStockVoucher(Guid keyId)

        {
            this.Id = keyId;
        }

        public OutStockVoucher()
        {

        }

        [Comment("单据出库类型 0 一级仓库出库 1 二级科室出库")]
        public int VoucherType { get; set; }

        [Comment("管理方式：0-数量管理 1-定数管理")]
        public int ProductManageType { get; set; }

        [Comment(" 发货仓库")]
        public Guid InWarehouseId { get; set; }

        [Comment("发货仓库")]
        public string InWarehouseName { get; set; }

        [Comment("领用仓库")]
        public Guid OutWarehouseId { get; set; }

        [Comment("领用仓库")]
        public string OutWarehouseName { get; set; }

        [Comment("配送地址")]
        public string ReceiveAddress { get; set; }

        [Comment("产品小类标识")]
        public Guid ProductMinClassId { get; set; }


        [Comment("产品小类名称")]
        public string ProductMinClassName { get; set; }


        [Comment("复核人")]
        public string RecheckedBy { get; set; }


        [Comment("复核时间")]
        public DateTime? RecheckedOn { get; set; }


        [MaxLength(50)]
        [Comment("出库类别(0-领用出库、1-捐赠出库、2-科研出库、3-无偿出库)")]
        public string VoucherClass { get; set; }

    }
}
